#include "HiranipraCommon.h"

#ifndef _MACOSX_SYSTEMINFORMATION_H_
#define _MACOSX_SYSTEMINFORMATION_H_

namespace Hiranipra {
	namespace Platform {

		class SystemInformation : implements ISystemInformation
		{
		public:
			SystemInformation();
			virtual ~SystemInformation();

			virtual bool Update();

			virtual uint32 GetPackageProcessorCount() const { return _packageProcessorCount; }
			virtual uint32 GetPhysicalProcessorCount() const { return _physicalProcessorCount; }
			virtual uint32 GetLogicalProcessorCount() const { return _logicalProcessorCount; }
			virtual float GetAverageProcessorSpeed() const { return _averageProcessorSpeed; }

		private:
			uint32		_packageProcessorCount;
			uint32		_physicalProcessorCount;
			uint32		_logicalProcessorCount;
			float		_averageProcessorSpeed;
		};

	}
}

#endif // _MACOSX_SYSTEMINFORMATION_H_
